﻿using System;
using System.Collections.Generic;

using UnityEngine;

#if AL_CREATURE_SYS
namespace ALPackage
{
    /*************************
     * 保存所有用户添加物对象的信息，以及获取的名称
     **/
    public class ALCreatureChildAdditionObj : ALCreatureAdditionObj
    {
        /** 存储本对象的父节点 */
        protected ALCreatureAdditionObjMgr parentMgrObj;

        protected internal ALCreatureChildAdditionObj(ALCreatureAdditionObjMgr _parentMgr
            , _AALSOBasicAdditionObjInfo _additionObjInfo, GameObject _obj)
            : base(_additionObjInfo, _obj)
        {
            parentMgrObj = _parentMgr;
        }

        /**************
         * 从父节点中去除本物件的关联
         * 
         * 由于被对象只在ALBaseCreatureAdditionObjMgr对象中创建，且创建时不注册到ALStaticAdditionObjMgr中
         * 因此在重载后不需要在ALStaticAdditionObj中注销本对象
         **/
        protected override void _unregFromParent()
        {
            if (null == parentMgrObj)
                return;

            parentMgrObj._unregChildAdditionObj(this);
            parentMgrObj = null;
        }
    }
}
#endif
